home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / FLI106C.ZIP;1 / FLI.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-12  |  21.2 KB  |  580 lines

  1. //
  2. // The Fusion Library Interface for DOS
  3. // Version 1.06c
  4. // Copyright (C) 1990, 1991, 1992
  5. // Software Dimensions
  6. //
  7. // Main Header File for NON window related classes, variables, and functions
  8. //
  9. // This file will automatically include the DEFINES.H file.
  10. //
  11.  
  12. // ==========================================================================
  13. // Consult the reference manual for complete function reference of all
  14. // functions within this header file.  All variables are documented
  15. // inside this header file, for ease of use when modifying the supplied
  16. // source code.  For additional class information, please consult the
  17. // Software Dimensions BBS.  Telephone numbers are included in the
  18. // READ.ME file and in the documentation.
  19. // ==========================================================================
  20.  
  21. #ifndef __cplusplus
  22. #error Please switch to C++ mode before using Fusion
  23. #endif
  24.  
  25. #ifdef __PASCAL__
  26. #error The Pascal calling convention cannot be used with Fusion
  27. #endif
  28.  
  29. #ifndef __Fusion__
  30. #define __Fusion__
  31.  
  32. #ifndef __FusionDefines__
  33. #include "defines.h"
  34. #endif
  35.  
  36. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  37. //                                                                           //
  38. // Setting this variable to a non-zero value will force the computer to      //
  39. // display shadows behind dialogs, pull down menus, and pop up menus.        //
  40. //                                                                           //
  41. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  42.  
  43. extern int FusionShadowing;
  44.  
  45. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  46. //                                                                           //
  47. // Mouse handling functions                                                  //
  48. //                                                                           //
  49. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  50.  
  51. extern int MouseEvent;              // Event code for last queued mouse event
  52. extern int MouseButtonStatus;       // Current button down status
  53. extern int MouseHorizontal;         // Current X position of mouse
  54. extern int MouseVertical;           // Current Y position of mouse
  55.  
  56. extern int MouseAvailable;          // Is mouse available?  DO NOT alter this
  57.                                     // variable to disable the mouse -- use
  58.                                     // MouseShutDown() instead
  59.  
  60. extern int MouseDoubleClickFactor;  // Speed required for double click
  61. extern int MouseRepeatDelay;        // Delay until auto repeat
  62. extern int MouseRepeatSpeed;        // Repeat speed after delay is depleated
  63.  
  64. void MouseHide();
  65. void MouseShow();
  66. void MouseShutDown();
  67. void MouseReStart();
  68. void MousePosition(int,int);
  69. void GetMouseQueue();
  70. void FlushMouseQueue();
  71. void MouseLocate();
  72.  
  73. int MouseButtons();
  74.  
  75. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  76. //                                                                           //
  77. // FLIVideoProtect -- By Setting This Variable To 1, anywhere in your program//
  78. // you will force the linker to include the video state saving startup and   //
  79. // exit functions that will ensure your program is polite and will return    //
  80. // the video characteristics to their state BEFORE your program started.     //
  81. //                                                                           //
  82. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  83.  
  84. extern int FLIVideoProtect;
  85.  
  86. class _FLIVideoProtect
  87. {
  88.   int TopCursor;                // DO NOT use this class in your own programs
  89.   int BottomCursor;             // Consult the manual about altering the
  90.   int DisplayMode;              // FLIVideoProtect variable
  91.   int OtherEGAVGA;
  92.   int Height;
  93.  
  94. public:
  95.  
  96.   _FLIVideoProtect();
  97.   ~_FLIVideoProtect();
  98. };
  99.  
  100. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  101. //                                                                           //
  102. // CharMask - Character Masking Class                                        //
  103. // NumberMask - Numeric Masking Class                                        //
  104. //                                                                           //
  105. // Base class for Dialogs and Blaze to handle masking functions              //
  106. //                                                                           //
  107. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  108.  
  109. class BlazeClass;
  110.  
  111. class CharMask
  112. {
  113. protected:
  114.  
  115.   static int MaskCheck(int,int &,int=1);
  116.   static void MaskShow(char *,char *,BlazeClass &,int=0,int=0);
  117. };
  118.  
  119. class NumberMask
  120. {
  121. protected:
  122.  
  123.   static void MaskShow(char *,char *,BlazeClass &);
  124.   static void CountPlaces(char *,int &,int &);
  125. };
  126.  
  127. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  128. //                                                                           //
  129. // BlazeClass - The text handling class                                      //
  130. //                                                                           //
  131. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  132.  
  133. extern int IsBigCursor; // Is a big cursor on the screen?
  134.  
  135. class BlazeClass : public CharMask, public NumberMask
  136. {
  137. private:
  138.  
  139.   static void far *VIDEO;           // Pointer to Mono or Color video RAM
  140.   static int ScreenHeight;          // Physical screen height
  141.   static int ScreenWidth;           // Physical screen width
  142.   static int QuickWidth;            // Physical screen width * 2 (speeds calcs)
  143.   static int Intense;               // Intense background colors=1
  144.                                     // Flashing capability=0
  145.  
  146.   void far *OUTPUT;                 // Current output location in video RAM
  147.                                     // or user specified location (UseMemory)
  148.  
  149.   int X;                            // Current X location of text output
  150.   int Y;                            // Current Y location of text output
  151.   int Clip;                         // Video clipping is on (1) or off (0)
  152.   int WinX;                         // Upper X corner of window
  153.   int WinY;                         // Upper Y corner of window
  154.   int Color;                        // Current text output color
  155.   int Center;                       // Centering is on (1) or off (0)
  156.   int WinHigh;                      // Height of the window
  157.   int WinWide;                      // Width of the window
  158.   int Scrolling;                    // Scrolling is on (1) or off (0)
  159.   int FlushRight;                   // Flush right is on (1) or off (0)
  160.  
  161.                                     // These are the current characters
  162.                                     // that are using with the Box...()
  163.                                     // function set
  164.  
  165.   char TopLeft;                     // Top left hand corner of box
  166.   char TopRight;                    // Top right hand corner of box
  167.   char TopCenter;                   // Top center of box
  168.   char CenterLeft;                  // Left hand center of box
  169.   char CenterFill;                  // Interior of box
  170.   char BottomLeft;                  // Bottom left of box
  171.   char CenterRight;                 // Right hand center of box
  172.   char BottomRight;                 // Bottom right of box
  173.   char BottomCenter;                // Bottom center of box
  174.  
  175. public:
  176.  
  177.   BlazeClass();
  178.   BlazeClass(BlazeClass &_Blaze);
  179.  
  180.   BlazeClass& operator -  ();
  181.   BlazeClass& operator -- ();
  182.  
  183.   BlazeClass& operator () (int,int);
  184.   BlazeClass& operator << (char *);
  185.   BlazeClass& operator << (char);
  186.   BlazeClass& operator << (int);
  187.   BlazeClass& operator [] (int);
  188.   BlazeClass& operator << (BlazeClass& (*_f)(BlazeClass&))
  189.     { return ((*_f)(*this)); }
  190.  
  191.   int operator ! ();
  192.   int operator + ();
  193.  
  194.   void far *WhatOutput();
  195.  
  196.   int WhereX();
  197.   int WhereY();
  198.   int WhatWinWidth();
  199.   int WhatWinHeight();
  200.   int QuickDisplay(int,int,int,int,char *);
  201.  
  202.   void BigCursor(int=0);
  203.   void BlockCopyVirtualToVisual(int,int,int,int,void far *);
  204.   void BlockCopyVisualToVirtual(int,int,int,int,void far *);
  205.   void Box(int,int,int,int,int);
  206.   void BoxAttribute(int,int,int,int,int);
  207.   void BoxFilled(int,int,int,int,int);
  208.   void ChangeForeground(int,int,int,int,int);
  209.   void ChangeBackground(int,int,int,int,int);
  210.   void CharacterFill(int,int,int,int,int,int);
  211.   void CharacterRepeater(int,int,int,int,int);
  212.   void CharacterRepeaterDown(int,int,int,int,int);
  213.   void CopyArea(int,int,int,int,int,int);
  214.   void CopyFromTo(int,int,int,int,void far *,void far *);
  215.   void CopyVirtualToVirtual(void far *,void far *);
  216.   void CopyVirtualToVisual(void far *);
  217.   void CopyVisualToVirtual(void far *);
  218.   void EraseArea(int,int,int,int,int);
  219.   void FreshWorkSpace();
  220.   void GetArea(int,int,int,int,void far *);
  221.   void HelpLine(int,char *);
  222.   void LineAttribute(int,int,int,int);
  223.   void PutArea(int,int,void far *);
  224.   void ScrollDown(int,int,int,int);
  225.   void ScrollLeft(int,int,int,int);
  226.   void ScrollRight(int,int,int,int);
  227.   void ScrollUp(int,int,int,int);
  228.   void Shadow(int,int,int,int);
  229.   void UseMemory(void far *);
  230.   void UseVideo();
  231.   void UserBoxDefine(int,int,int,int,int,int,int,int,int);
  232.   void UserBoxDefineQuick(int);
  233.   void Window(int,int,int,int);
  234.   void WindowGotoXY(int,int);
  235.   void WindowInformation(int &,int &,int &,int &);
  236.  
  237.   static int ChangePalette(int,int);
  238.   static int CheckVisible();
  239.   static int ComputeNeededBytes(int,int);
  240.   static int GetKey();
  241.   static int IsBlackWhite();
  242.   static int IsMonochrome();
  243.   static int SeeKey();
  244.   static int ToggleIntense();
  245.   static int WhatHeight();
  246.   static int WhatWidth();
  247.  
  248.   static void GetXY(int &,int &);
  249.   static void GotoXY(int,int);
  250.   static void InvisibleCursor();
  251.   static void VisibleCursor();
  252.  
  253.   char * Mask(char *,char *);
  254.   char * Mask(char *,int &);
  255.   char * Mask(char *,long &);
  256.   char * Mask(char *,float &);
  257.   char * Mask(char *,double &);
  258.  
  259.   #ifdef __BCD_H
  260.   char * Mask(char *,bcd &);
  261.   #endif
  262.  
  263.   friend BlazeClass& Centered(BlazeClass&);
  264.   friend BlazeClass& Flushed(BlazeClass&);
  265.   friend BlazeClass& MoveLeft(BlazeClass&);
  266.   friend BlazeClass& MoveRight(BlazeClass&);
  267.   friend BlazeClass& MoveUp(BlazeClass&);
  268.   friend BlazeClass& MoveDown(BlazeClass&);
  269.  
  270.   friend _FLIVideoProtect::~_FLIVideoProtect();
  271. };
  272.  
  273. BlazeClass& Centered(BlazeClass&);
  274. BlazeClass& Flushed(BlazeClass&);
  275. BlazeClass& MoveLeft(BlazeClass&);
  276. BlazeClass& MoveRight(BlazeClass&);
  277. BlazeClass& MoveUp(BlazeClass&);
  278. BlazeClass& MoveDown(BlazeClass&);
  279.  
  280. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  281. //                                                                           //
  282. // FusionHelp - The Fusion Help controller system                            //
  283. //                                                                           //
  284. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  285.  
  286. extern int HelpSystemAvailable; // Is help available (i.e. the help file)
  287. extern int DisabledHelp; // Was the help system shut off by the programmer?
  288.  
  289. class FusionHelp
  290. {
  291. public:
  292.  
  293.   int HelpId;                       // Id of the current help screen
  294.  
  295.   static int DefineHelp(char *);
  296.   static void DisableHelp();
  297.  
  298. protected:
  299.  
  300.   void EngageHelp();
  301.   void RequestHelp(int);
  302.  
  303.   FusionHelp();
  304. };
  305.  
  306. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  307. //                                                                           //
  308. // EventClass - The event handling class                                     //
  309. //                                                                           //
  310. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  311.  
  312. class Event : virtual public FusionHelp
  313. {
  314. private:
  315.  
  316.   static int EventTimer;            // Number of timer ticks between each
  317.                                     // live function call
  318.  
  319.   void (**ActionQueue)();           // Pointers to live functions
  320.   int ActionCount;                  // The total number of live functions
  321.  
  322.   long ActionTimer;                 // Contains timer that determines when
  323.                                     // the live functions should be called
  324.  
  325.   BlazeClass Blaze;                 // Definition of BlazeClass
  326.  
  327. protected:
  328.  
  329.   int X;                            // X location of the event controlled area
  330.   int Y;                            // Y location of the event controlled area
  331.   int XShadow;                      // Is there a shadow?
  332.   int YShadow;                      // Is there a shadow?
  333.   int Shadowing;                    // Shadow status when class constructed
  334.   int Width;                        // Width of the event controlled area
  335.   int Height;                       // Height of the event controlled area
  336.   int CloseIcon;                    // Region has close icon (1) or not (0)
  337.  
  338.   char *ScreenSave;                 // Saved portion of the screen
  339.  
  340. public:
  341.  
  342.   Event();
  343.   ~Event();
  344.  
  345.   int GetEvent(int=0);
  346.  
  347.   void NotClosable();
  348.   void RestoreWindow();
  349.   void LocalLive(void (*Action)());
  350.   void SpecifyWindow(int X,int Y,int Width,int Height);
  351.  
  352.   static void SetLiveTime(int Timer) { EventTimer=Timer; }
  353.   static void GlobalLive(void (*GlobalAction)());
  354.  
  355. private:
  356.  
  357.   int JustEvent();
  358.   void MoveWindow();
  359. };
  360.  
  361. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  362. //                                                                           //
  363. // DialogElement - An abstract class for defining elements                   //
  364. //                                                                           //
  365. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  366.  
  367. class DialogElement
  368. {
  369. public:
  370.  
  371.   int X;                            // X coordinate of this element
  372.   int Y;                            // Y coordinate of this element
  373.   int LocX;                         // X coordinate of element locator
  374.   int LocY;                         // Y coordinate of element locator
  375.   int Width;                        // Width of this element
  376.   int Height;                       // Height of this element
  377.   int QuickKey;                     // Quick key used to jump to this element
  378.   int GroupCode;                    // Which group owns this element?
  379.   int FusionHelp;                   // What help screen goes with this element?
  380.  
  381.   int *Avail;                       // Quick availability checker
  382.  
  383.   char *Help;                       // Help text for the bottom of the screen
  384.   char *LocatorText;                // The text displayed for the locator
  385.  
  386.   BlazeClass *Blaze;                // A pointer to BlazeClass within the
  387.                                     // DialogClass that is using this
  388.                                     // element
  389.  
  390.   DialogElement *Last;              // Pointer to the last element
  391.   DialogElement *Next;              // Pointer to the next element
  392.  
  393.   DialogElement();
  394.   virtual ~DialogElement();
  395.  
  396.   virtual int Action();
  397.   virtual int Arrival();
  398.   virtual int Available();
  399.   virtual int Departure();
  400.   virtual int Validation();
  401.  
  402.   virtual void operator+ (char *);
  403.  
  404.   virtual void Show() = 0;
  405.   virtual void HighLight() = 0;
  406.   virtual int EventHandler(int) = 0;
  407. };
  408.  
  409. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  410. //                                                                           //
  411. // DialogClass - The main handler for the dialog elements                    //
  412. //                                                                           //
  413. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  414.  
  415. class DialogClass : public Event
  416. {
  417. private:
  418.  
  419.   static int DialogTimer;           // Number of ticks between each action
  420.                                     // event call
  421.  
  422.   DialogElement *Last;              // Pointer to the last element
  423.   DialogElement *First;             // Pointer to the very first element
  424.   DialogElement *Current;           // Pointer to the current element (init)
  425.   DialogElement *Present;           // Pointer to the present element (usage)
  426.  
  427.   DialogElement *LastPresent;       // Pointer to the last, present element
  428.  
  429.   char *TopTitle;                   // Title of the dialog
  430.  
  431.   int XSave;                        // Saved X cursor location
  432.   int YSave;                        // Saved Y cursor location
  433.   int Grouped;                      // Current group number (if there is one)
  434.   int MultiTask;                    // Is mutitasking in use (1) or not (0)
  435.   int UseAction;                    // Action functions in use (1) or not (0)
  436.   int LocatedFirst;                 // What is the first group?
  437.  
  438.   int PreXSave;                     // Save X and Y at dialog powerup
  439.   int PreYSave;
  440.  
  441.   int AlreadyShown;                 // The dialog has been shown, so do
  442.                                     // not redraw the locators and stuff
  443.   int GroupLock;                    // Used to lock into a group
  444.  
  445.   int CheckBigCursor;               // Is big cursor on screen?
  446.   int CheckVisible;                 // Is cursor visible on screen?
  447.  
  448.   int NoDefaults;                   // Are default keys overriden
  449.  
  450.   void *BottomSave;                 // Storage for bottom line of display
  451.  
  452.   long ActionTimer;                 // Timer storage for multitasking and
  453.                                     // action functions
  454.  
  455.   struct _GroupHeadings             // Storage for group headings
  456.   {
  457.     int X;                             // X coordinate of this group heading
  458.     int Y;                             // Y coordinate of this group heading
  459.     int GroupCode;                     // Code for this group
  460.     int HotKey;                        // Hotkey that jumps to this group
  461.     char *Heading;                     // Heading for this group
  462.   } *HeadingStorage;
  463.  
  464.   int HeadingCount;                 // Number of group headings
  465.  
  466.   int Valid();
  467.   int NextGroup();
  468.   int NextElement();
  469.   int PreviousGroup();
  470.   int NextWithinGroup();
  471.   int PreviousElement();
  472.   int PreviousWithinGroup();
  473.   int Depart(DialogElement &);
  474.   int Arrive(DialogElement &);
  475.  
  476.   int CallAllActions();
  477.   void ShowElements(int=0);
  478.   void ShowDialogBox();
  479.   void ShowLocator(int=1);
  480.   void ShowHeading(int);
  481.  
  482. public:
  483.  
  484.   BlazeClass Blaze;
  485.  
  486.   DialogClass();
  487.   DialogClass(int,int,char *,int=1);
  488.   DialogClass(int,int,int,int,char *,int=1);
  489.   virtual ~DialogClass();
  490.  
  491.   int UseDialog();
  492.   int RePosition(DialogElement *);
  493.  
  494.   void Help(char *);
  495.   void FusionHelp(int);
  496.   void Available(int &);
  497.   void UtilizeMultiTasking();
  498.   void UtilizeActionFunctions();
  499.   void Element(DialogElement *);
  500.   void HotKey(int,int,char *,int=0);
  501.   void GroupElement(int,DialogElement *);
  502.   void GroupHeading(int,int,int,char *,int=0);
  503.   void NoDefaultKeys() { NoDefaults=1; }
  504.  
  505.   static void SetActionTime(int Timer) { DialogTimer=Timer; }
  506.  
  507.   DialogClass& operator +(char *);
  508.  
  509.   virtual int EventHandler(int) = 0;
  510. };
  511.  
  512. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  513. //                                                                           //
  514. // PopUpMenu - The main popup menu class                                     //
  515. //                                                                           //
  516. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  517.  
  518. class PopUpMenu : public Event
  519. {
  520. private:
  521.  
  522.   char *TitleOfMenu;                // Title of this menu
  523.   char **HelpStorage;               // Storage for prompt line help
  524.   char **OptionStorage;             // Storage for all menu options
  525.  
  526.   int AutoSeek;                     // Is menu automatically placed?
  527.   int AllocationError;              // Error in allocation (1) or not (0)
  528.   int NumberOfOptions;              // Number of menu options
  529.   int *QuickKeyStorage;             // Option single-key quick-key storage
  530.   int **OptionAvailable;            // Option availability pointers
  531.   int *FusionHelpStorage;           // Fusion help for options
  532.  
  533.   BlazeClass Blaze;
  534.  
  535. public:
  536.  
  537.   PopUpMenu();
  538.   virtual ~PopUpMenu();
  539.  
  540.   int UseMenu();
  541.   void Title(char *);
  542.   void NoCloseIcon();
  543.   void Available(int &);
  544.   void Location(int,int);
  545.   void Option(char *,char *,int);
  546.  
  547.   virtual int EventHandler(int) = 0;
  548. };
  549.  
  550. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  551. //                                                                           //
  552. // InfoBox - Class to handle information boxes                               //
  553. //                                                                           //
  554. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-//
  555.  
  556. class InfoBox
  557. {
  558. private:
  559.  
  560.   int AllocationError;              // An allocation error occured
  561.   int NumberOfInfoLines;            // Number of lines in this InfoBox
  562.   int CloseIcon;                    // Is there a close icon on this info box?
  563.  
  564.   char *TitleOfInfoBox;             // Title of the InfoBox
  565.   char **MessageLineStorage;        // Storage for all InfoBox lines
  566.  
  567. public:
  568.  
  569.   InfoBox();
  570.   ~InfoBox();
  571.  
  572.   int UseInfoBox ();
  573.   void Title(char *);
  574.   void NoCloseIcon();
  575.   InfoBox& operator+ (char *);
  576. };
  577.  
  578. #endif
  579.  
  580.